{$R-}                             {Range checking off}
{$B+}                             {Boolean short circuiting off}
{$S-}                             {Stack checking off}
{$I-}                             {I/O checking off}
{$V-}                             { disable string parameter type checking - faster }


UNIT RUNPART3;

INTERFACE

USES
  Crt,
  Dos,
  Graph3,
  Turbo3,
  RUNPART1,
  RUNPART2;

PROCEDURE Init_verbs;

PROCEDURE Read_INSTRUCTIONS;

PROCEDURE Set_Token_Parameters;

PROCEDURE MoveIt(ITEMNum, PLACE : Integer);

PROCEDURE PERFORM_Special_CMDS(VAR TempVerb, TempNoun, TempObject : words);

PROCEDURE special(rm : Integer);

PROCEDURE Turn(noun, prep, object_word : words);

PROCEDURE Push(noun, prep, object_word : words);

PROCEDURE Pull(noun, prep, object_word : words);

PROCEDURE Play(noun : words);

PROCEDURE Change_Locations(noun : words);

PROCEDURE MagicWord;

PROCEDURE Go(Dir : words);

PROCEDURE Take_All;

PROCEDURE Drop_All;

PROCEDURE Wear_All;

PROCEDURE Remove_All;

PROCEDURE Attack(noun, prep, object_word : words);

PROCEDURE Execute_cmd(verb, noun, prep, object_word : words);

PROCEDURE Animate;

PROCEDURE Check_If_Here(noun, object_word : words);

PROCEDURE Parse(VAR sentence : s;
                VAR verb, noun, prep, object_word : words;
                VAR syntax_error : Boolean);

PROCEDURE Print_Order_Form;

  {===========================================================================}

IMPLEMENTATION

  {$I INIT.PA4 }

  {$I COMMAND.PA4 }

  {$I SPECIALS.PA4 }

  {$I EXECUTE.PA4 }

  {$I ANIMATE.PA4 }

  {$I PARSE.PA4 }

  PROCEDURE Print_Order_Form;
   BEGIN                           {Print_Order_Form}
    WriteLn(IO, 'The Adventure Game Toolket (AGT) is now "Freeware"');
    WriteLn(IO, 'and there is no order form now.');
  END;                            {Print_Order_Form}

END.
